package com.zxjbyte.yiyi.framework.common.core.eventbus;

import java.lang.annotation.*;

/**
 * 自定义事件订阅者注解（支持同步/异步模式）
 * 标记在类上，表示该类是一个事件监听器
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface EventSubscriber {

    /**
     * 是否异步执行，默认为 false（同步）
     */
    boolean async() default false;

    /**
     * 同步事件处理顺序，数值越小优先级越高
     * 仅对 async=false 的订阅者有效
     * 默认值为 Integer.MAX_VALUE 表示最低优先级
     */
    int syncOrder() default Integer.MAX_VALUE;
}
